Data Source

Source: NOAA’s Climate Divisional Database (nClimDiv), June 2021 release

The Data Used Here

The Climate Divisional Dataset from the National Center For Environmental Information began as the only long-term temporally and spatially complete dataset from which to generate historical climate analyses (1895-2013) for the contiguous United States (CONUS). It was originally developed for climate division, statewide, regional, national, and population-weighted monitoring of drought, temperature, precipitation, and heating/cooling degree day values.

There are 344 climate divisions in the CONUS. For each climate division, monthly station temperature and precipitation values are computed from the daily observations. The divisional values are weighted by area to compute statewide values and the statewide values are weighted by area to compute regional values. (Karl and Koss, 1984).

The data here is the county data from all the states in the contigous United States. While NOAA includes information on a variety of climate measures, we are focusing on the maximum, minimum temperature, and precipitation of the counties of interest.

To Learn More, See:

Variable Descriptions

glimpse(cville_sf1)
## Rows: 756
## Columns: 49
## $ NAME        <chr> "Greene", "Greene", "Greene", "Greene", "Greene", "Greene"…
## $ Year        <dbl> 1895, 1896, 1897, 1898, 1899, 1900, 1901, 1902, 1903, 1904…
## $ CNTY_FIPS   <chr> "079", "079", "079", "079", "079", "079", "079", "079", "0…
## $ X           <dbl> -78.46742, -78.46742, -78.46742, -78.46742, -78.46742, -78…
## $ Y           <dbl> 38.2973, 38.2973, 38.2973, 38.2973, 38.2973, 38.2973, 38.2…
## $ STATE_FIPS  <chr> "51", "51", "51", "51", "51", "51", "51", "51", "51", "51"…
## $ FIPS        <chr> "51079", "51079", "51079", "51079", "51079", "51079", "510…
## $ AREA        <dbl> 157.0143, 157.0143, 157.0143, 157.0143, 157.0143, 157.0143…
## $ Janmin      <dbl> 20.0, 22.9, 20.4, 28.0, 22.5, 24.1, 24.8, 21.1, 21.9, 18.4…
## $ Febmin      <dbl> 12.7, 25.4, 26.7, 22.4, 16.4, 21.8, 19.2, 19.5, 25.7, 17.8…
## $ Marmin      <dbl> 30.6, 27.0, 35.8, 38.0, 31.1, 27.8, 32.4, 32.9, 38.4, 31.4…
## $ Aprmin      <dbl> 40.7, 44.5, 40.6, 37.9, 40.9, 41.8, 37.8, 39.3, 40.6, 37.0…
## $ Maymin      <dbl> 49.0, 56.3, 48.2, 52.3, 52.2, 50.9, 50.7, 52.0, 50.1, 50.7…
## $ Junmin      <dbl> 59.1, 59.2, 58.4, 58.4, 61.1, 61.1, 59.0, 56.4, 54.9, 58.0…
## $ Julmin      <dbl> 59.6, 64.4, 63.0, 64.9, 62.3, 64.0, 66.1, 63.0, 62.2, 61.1…
## $ Augmin      <dbl> 61.5, 61.4, 59.4, 64.3, 64.0, 65.4, 62.9, 59.0, 61.2, 60.6…
## $ Sepmin      <dbl> 57.6, 53.7, 52.3, 56.1, 53.4, 60.8, 53.4, 52.1, 52.9, 54.7…
## $ Octmin      <dbl> 35.9, 41.3, 44.8, 46.8, 44.8, 50.7, 41.9, 44.7, 44.3, 41.0…
## $ Novmin      <dbl> 33.1, 38.6, 34.3, 33.1, 34.5, 37.8, 28.3, 39.5, 29.1, 31.1…
## $ Decmin      <dbl> 25.8, 24.6, 28.7, 25.2, 23.9, 24.9, 22.1, 24.6, 19.4, 22.2…
## $ Avg_Tempmin <dbl> 40.46667, 43.27500, 42.71667, 43.95000, 42.25833, 44.25833…
## $ Janmax      <dbl> 35.7, 39.5, 38.9, 43.2, 41.9, 42.7, 43.2, 39.1, 40.1, 36.4…
## $ Febmax      <dbl> 32.2, 44.6, 44.3, 44.1, 34.5, 42.6, 38.9, 35.6, 47.1, 36.9…
## $ Marmax      <dbl> 51.0, 47.6, 56.0, 57.4, 51.3, 49.3, 54.9, 55.1, 59.8, 53.9…
## $ Aprmax      <dbl> 62.3, 66.4, 64.0, 58.6, 64.7, 64.0, 56.6, 61.6, 62.0, 59.3…
## $ Maymax      <dbl> 70.8, 78.2, 71.6, 74.7, 73.7, 78.0, 71.3, 75.8, 74.8, 73.6…
## $ Junmax      <dbl> 83.4, 78.4, 80.0, 83.3, 82.5, 80.1, 79.5, 80.1, 72.8, 78.8…
## $ Julmax      <dbl> 79.4, 83.4, 84.5, 85.4, 87.3, 87.8, 85.7, 85.6, 83.9, 81.6…
## $ Augmax      <dbl> 84.2, 83.4, 82.8, 81.7, 84.1, 89.9, 79.9, 80.6, 78.6, 79.9…
## $ Sepmax      <dbl> 82.7, 76.0, 79.4, 78.0, 75.5, 83.4, 73.7, 74.7, 74.5, 76.7…
## $ Octmax      <dbl> 62.8, 61.6, 66.7, 64.0, 66.7, 69.3, 66.5, 66.3, 65.3, 67.1…
## $ Novmax      <dbl> 54.3, 60.5, 54.2, 50.7, 56.2, 56.8, 48.2, 59.5, 51.0, 52.7…
## $ Decmax      <dbl> 44.0, 43.9, 44.7, 43.6, 43.8, 44.6, 41.9, 42.3, 38.8, 40.0…
## $ Avg_Tempmax <dbl> 61.90000, 63.62500, 63.92500, 63.72500, 63.51667, 65.70833…
## $ Janpcp      <dbl> 5.93, 2.03, 2.01, 3.88, 3.66, 3.94, 2.77, 2.94, 4.77, 2.38…
## $ Febpcp      <dbl> 1.37, 4.11, 6.88, 0.71, 5.09, 4.03, 0.57, 5.20, 4.10, 1.46…
## $ Marpcp      <dbl> 2.72, 4.26, 2.70, 4.68, 5.02, 3.84, 3.27, 4.12, 4.56, 2.46…
## $ Aprpcp      <dbl> 4.77, 1.52, 2.09, 3.38, 1.49, 2.52, 7.97, 2.55, 4.05, 2.81…
## $ Maypcp      <dbl> 3.98, 2.98, 5.84, 6.52, 4.54, 2.39, 6.66, 3.27, 2.57, 3.47…
## $ Junpcp      <dbl> 4.41, 6.27, 3.56, 3.33, 2.55, 6.95, 6.61, 4.20, 7.97, 6.63…
## $ Julpcp      <dbl> 5.26, 5.91, 4.54, 6.05, 2.94, 3.85, 4.94, 3.06, 3.18, 5.25…
## $ Augpcp      <dbl> 1.59, 1.86, 3.09, 7.06, 3.57, 1.58, 9.87, 3.16, 4.65, 2.63…
## $ Seppcp      <dbl> 0.42, 8.54, 0.72, 2.93, 5.44, 3.37, 4.30, 4.55, 2.31, 2.16…
## $ Octpcp      <dbl> 1.49, 0.26, 3.73, 8.68, 2.97, 3.11, 0.64, 6.33, 3.21, 1.01…
## $ Novpcp      <dbl> 1.80, 4.74, 3.50, 2.36, 1.11, 3.14, 2.14, 4.38, 0.89, 1.11…
## $ Decpcp      <dbl> 2.91, 0.05, 3.78, 4.53, 1.54, 2.91, 7.55, 4.26, 1.39, 2.88…
## $ Avg_Temppcp <dbl> 3.054167, 3.544167, 3.536667, 4.509167, 3.326667, 3.469167…
## $ Fipsyear    <dbl> 44079011895, 44079011896, 44079011897, 44079011898, 440790…
## $ geometry    <MULTIPOLYGON [°]> MULTIPOLYGON (((-78.36616 3..., MULTIPOLYGON …

Observations are county level estimates of…

  • Monthly maximum temperature for each county for years 1895-2021
    • Yearly average maximum temperature for each county for those years.
  • Monthly minimum temperature for each county for years 1895-2021
    • Yearly average minimum temperature for each county for those years.
  • Monthly precipitation for each county for years 1895-2021
    • Yearly average precipitation for each county for those years.

Summaries

5-number summaries of (non-missing) numeric variables (remove non-numeric observations)

noaa %>% select(-c(CNTY_FIPS, Fipsyear, Year)) %>% 
  select(where(~is.numeric(.x) && !is.na(.x))) %>% 
  as.data.frame() %>% 
  stargazer(., type = "text", title = "Summary Statistics", digits = 0,
            summary.stat = c("mean", "sd", "min", "median", "max"))
## 
## Summary Statistics
## ========================================
## Statistic   Mean St. Dev. Min Median Max
## ----------------------------------------
## Janmin       24     4     11    24   37 
## Febmin       25     4     13    26   35 
## Marmin       33     4     20    33   43 
## Aprmin       42     2     34    42   50 
## Maymin       51     3     44   51.3  60 
## Junmin       60     2     53    60   66 
## Julmin       64     2     59    64   70 
## Augmin       63     2     57    63   68 
## Sepmin       56     3     49    56   65 
## Octmin       44     3     35    44   54 
## Novmin       34     3     27    34   44 
## Decmin       27     4     14    27   41 
## Avg_Tempmin  44     2     36    44   48 
## Janmax       44     5     29    44   58 
## Febmax       47     5     32    48   61 
## Marmax       56     5     41    56   70 
## Aprmax       67     3     56    67   75 
## Maymax       76     3     67    75   83 
## Junmax       83     3     73    83   89 
## Julmax       86     3     79    86   93 
## Augmax       84     3     75    84   94 
## Sepmax       78     3     70    78   88 
## Octmax       68     3     59    68   79 
## Novmax       57     4     47    57   66 
## Decmax       47     4     33    47   60 
## Avg_Tempmax  66     2     58    66   71 
## Janpcp       3      2      0    3     9 
## Febpcp       3      1      0    3     8 
## Marpcp       4      2      0    3     9 
## Aprpcp       3      2      0    3    12 
## Maypcp       4      2      0    4    11 
## Junpcp       4      2     -10   4    13 
## Julpcp       4      2     -10   4    11 
## Augpcp       4      3     -10   4    14 
## Seppcp       4      3     -10   3    16 
## Octpcp       3      3     -10   3    13 
## Novpcp       3      2     -10   3    13 
## Decpcp       3      2     -10   3     8 
## Avg_Temppcp  4      1     -5    4     6 
## ----------------------------------------

Maps

Maximum Temperature

Maximum Temperature in July across Counties for all Years

cville_sf1a <- 
  ggplot(cville_sf1) +
  geom_sf(aes(fill = Julmax), color = "black", alpha = .9, na.rm = TRUE) +
   geom_text_repel(data = cville_sf1, aes(X, Y, label = NAME), size = 4, nudge_x = 1, nudge_y = 0, fontface = "bold", hjust = 0.9) +
  scale_fill_fermenter(palette = "YlOrRd", direction = 1,   type = "seq", n.breaks = 7) +
     theme_void() +
  guides(fill =
           guide_colourbar(title.position="top", title.hjust = 0.5,
                           barwidth = 1)
  )  + 
  labs(fill = "Temperature ", title = 'Year: {frame_time}',
       caption = "Maximum Temperature in July for Charlottesville Counties") + 
 transition_time(as.integer(Year)) +
ease_aes('linear') 
animate(cville_sf1a, fps = 1, detail = 1, nframes = 127)

meta %>%
  filter(varname == "Julmax") %>% 
  select(about) %>% 
  as.list()

$about [1] “Monthly Divisional Temperature format (f7.2) Range of values -50.00 to 140.00 degrees Fahrenheit. Decimals retain a position in the 7-character field. Missing values in the latest year are indicated by -99.99. Missing values removed for visualization, resulting in no plots for 2021”

Warming Stripes Showing Maximum Temperature in July for Each County for all Years

#select only the july temperature and year column
cville_sf1_jl <- select(cville_sf1, NAME, Year, Julmax)

#rename the temperature column
cville_sf1_jl <- rename(cville_sf1_jl, ta = Julmax)
#create a date column because stripes only works with format = date
cville_sf1_jl <- mutate(cville_sf1_jl, date = str_c(Year, "01-01", sep = "-") %>% ymd())
# Filter out each County 

cville_sf1_jlg <- filter(cville_sf1_jl, NAME == "Greene")
cville_sf1_jla <- filter(cville_sf1_jl, NAME == "Albemarle")
cville_sf1_jlc <- filter(cville_sf1_jl, NAME == "Charlottesville")
cville_sf1_jlf <- filter(cville_sf1_jl, NAME == "Fluvanna")
cville_sf1_jll <- filter(cville_sf1_jl, NAME == "Louisa")
cville_sf1_jln <- filter(cville_sf1_jl, NAME == "Nelson")
#Create the theme for the stripes image

theme_strip <- theme_minimal()+
                 theme(axis.text.y = element_blank(),
                       axis.line.y = element_blank(),
                       axis.title = element_blank(),
                       panel.grid.major = element_blank(),
                       legend.title = element_blank(),
                       axis.text.x = element_text(vjust = 3),
                       panel.grid.minor = element_blank(),
                        plot.title = element_text(size = 14, face = "bold")
                       )


col_strip <- brewer.pal(11, "RdBu")
Greene County Warming Stripes: July Maximum Temperature
 ggplot(cville_sf1_jlg,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Greene County July Maximum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Louisa County Warming Stripes: July Maximum Temperature
 ggplot(cville_sf1_jll,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Louisa County July Maximum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Nelson County Warming Stripes: July Maximum Temperature
 ggplot(cville_sf1_jln,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Nelson County July Maximum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Albemarle County Warming Stripes: July Maximum Temperature
 ggplot(cville_sf1_jla,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Albemarle County July Maximum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Charlottesville County Warming Stripes: July Maximum Temperature
 ggplot(cville_sf1_jlc,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Charlottesville County July Maximum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Fluvanna County Warming Stripes: July Maximum Temperature
 ggplot(cville_sf1_jlf,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Fluvanna County July Maximum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Average Yearly Maximum Temperature across Counties

cville_sf1b <- 
  ggplot(cville_sf1) +
  geom_sf(aes(fill = Avg_Tempmax), color = "black", alpha = .9, na.rm = TRUE) +
   geom_text_repel(data = cville_sf1, aes(X, Y, label = NAME), size = 4, nudge_x = 1, nudge_y = 0, fontface = "bold", hjust = 0.9) +
  scale_fill_fermenter(palette = "BuPu", direction = 1,   type = "seq", n.breaks = 6) +
     theme_void() +
  guides(fill =
           guide_colourbar(title.position="top", title.hjust = 0.5,
                           barwidth = 1)
  )  + 
  labs(fill = "Temperature ", title = 'Year: {frame_time}',
       caption = "Average Yearly Maximum 
       Temperature For Charlottesville Counties") + 
 transition_time(as.integer(Year)) +
ease_aes('linear') 
animate(cville_sf1b, fps = 1, detail = 1, nframes = 127)

meta %>%
  filter(varname == "Avg_Tempmax") %>% 
  select(about) %>% 
  as.list()

$about [1] “Average yearly maximum temperature for each county. Created by suming the maximum temperature for each month, for each county, and taking the mean. NA’s for months in 2021 not currently available were removed and the mean calculated for the 6 months so far. Missing values removed for visualization, resulting in no plots for 2021”

Warming Stripes Showing Average Yearly Temperature for Each County

#select only the annual temperature and year column
cville_sf1_yr <- select(cville_sf1, NAME, Year, Avg_Tempmax)

#rename the temperature column
cville_sf1_yr <- rename(cville_sf1_yr, ta = Avg_Tempmax)
#create a date column because stripes only works with format = date

cville_sf1_yr <- mutate(cville_sf1_yr, date = str_c(Year, "01-01", sep = "-") %>% ymd())
#Filter out each County. No need to do theme again it's already set 
cville_sf1_yrg <- filter(cville_sf1_yr, NAME == "Greene")
cville_sf1_yra <- filter(cville_sf1_yr, NAME == "Albemarle")
cville_sf1_yrc <- filter(cville_sf1_yr, NAME == "Charlottesville")
cville_sf1_yrf <- filter(cville_sf1_yr, NAME == "Fluvanna")
cville_sf1_yrl <- filter(cville_sf1_yr, NAME == "Louisa")
cville_sf1_yrn <- filter(cville_sf1_yr, NAME == "Nelson")
Greene County Warming Stripes: Average Yearly Maximum Temperature
 ggplot(cville_sf1_yrg,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Greene County Average Yearly Maximum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Louisa County Warming Stripes: Average Yearly Maximum Temperature
 ggplot(cville_sf1_yrl,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Louisa County Average Yearly Maximum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Nelson County Warming Stripes: Average Yearly Maximum Temperature
 ggplot(cville_sf1_yrn,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Nelson County Average Yearly Maximum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Albemarle County Warming Stripes: Average Yearly Maximum Temperature
 ggplot(cville_sf1_yra,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Albemarle County Average Yearly Maximum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Charlottesville County Warming Stripes: Average Yearly Maximum Temperature
 ggplot(cville_sf1_yrc,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Charlottesville County Average Yearly Maximum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Fluvanna County Warming Stripes: Average Yearly Maximum Temperature
 ggplot(cville_sf1_yrf,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Fluvanna County Average Yearly Maximum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Minimum Temperature

Minimum Temperature in July across Counties for all Years

cville_sf2a <- 
  ggplot(cville_sf1) +
  geom_sf(aes(fill = Julmin), color = "black", alpha = .9, na.rm = TRUE) +
   geom_text_repel(data = cville_sf1, aes(X, Y, label = NAME), size = 4, nudge_x = 1, nudge_y = 0, fontface = "bold", hjust = 0.9) +
  scale_fill_fermenter(palette = "YlGnBu", direction = 1,   type = "seq", n.breaks = 7) +
     theme_void() +
  guides(fill =
           guide_colourbar(title.position="top", title.hjust = 0.5,
                           barwidth = 1)
  )  + 
  labs(fill = "Temperature ", title = 'Year: {frame_time}',
       caption = "Minimum Temperature in July for Charlottesville Counties") + 
 transition_time(as.integer(Year)) +
ease_aes('linear') 
animate(cville_sf2a, fps = 1, detail = 1, nframes = 127)

meta %>%
  filter(varname == "Julmin") %>% 
  select(about) %>% 
  as.list()

$about [1] “Monthly Divisional Temperature format (f7.2) Range of values -50.00 to 140.00 degrees Fahrenheit. Decimals retain a position in the 7-character field. Missing values in the latest year are indicated by -99.99. Missing values removed for visualization, resulting in no plots for 2021”

Warming Stripes Showing Minimum Temperature in July for Each County for all Years

Greene County Warming Stripes: July Minimum Temperature
 ggplot(cville_sf2_jlg,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Greene County July Minimum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Louisa County Warming Stripes: July Minimum Temperature
 ggplot(cville_sf2_jll,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Louisa County July Minimum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Nelson County Warming Stripes: July Minimum Temperature
 ggplot(cville_sf2_jln,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Nelson County July Minimum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Albemarle County Warming Stripes: July Minimum Temperature
 ggplot(cville_sf2_jla,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Albemarle County July Minimum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Charlottesville County Warming Stripes: July Minimum Temperature
 ggplot(cville_sf2_jlc,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Charlottesville County July Minimum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Fluvanna County Warming Stripes: July Minimum Temperature
 ggplot(cville_sf2_jlf,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Fluvanna County July Minimum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Average Yearly Minimum Temperature across Counties

cville_sf2b <- 
  ggplot(cville_sf1) +
  geom_sf(aes(fill = Avg_Tempmin), color = "black", alpha = .9, na.rm = TRUE) +
   geom_text_repel(data = cville_sf1, aes(X, Y, label = NAME), size = 4, nudge_x = 1, nudge_y = 0, fontface = "bold", hjust = 0.9) +
  scale_fill_fermenter(palette = "PuRd", direction = 1,   type = "seq", n.breaks = 6) +
     theme_void() +
  guides(fill =
           guide_colourbar(title.position="top", title.hjust = 0.5,
                           barwidth = 1)
  )  + 
  labs(fill = "Temperature ", title = 'Year: {frame_time}',
       caption = "Average Yearly Minimum 
       Temperature For Charlottesville Counties") + 
 transition_time(as.integer(Year)) +
ease_aes('linear') 
animate(cville_sf2b, fps = 1, detail = 1, nframes = 127)

meta %>%
  filter(varname == "Avg_Tempmin") %>% 
  select(about) %>% 
  as.list()

$about [1] “Average yearly minimum temperature for each county. Created by suming the minimum temperature for each month, for each county, and taking the mean. NA’s for months in 2021 not currently available were removed and the mean calculated for the 6 months so far. Missing values removed for visualization, resulting in no plots for 2021”

Warming Stripes Showing Average Yearly Temperature for Each County

Greene County Warming Stripes: Average Yearly Minimum Temperature
 ggplot(cville_sf2_yrg,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Greene County Average Yearly Minimum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Louisa County Warming Stripes: Average Yearly Minimum Temperature
 ggplot(cville_sf2_yrl,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Louisa County Average Yearly Minimum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Nelson County Warming Stripes: Average Yearly Minimum Temperature
 ggplot(cville_sf2_yrn,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Nelson County Average Yearly Minimum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Albemarle County Warming Stripes: Average Yearly Minimum Temperature
 ggplot(cville_sf2_yra,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Albemarle County Average Yearly Minimum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Charlottesville County Warming Stripes: Average Yearly Minimum Temperature
 ggplot(cville_sf2_yrc,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Charlottesville County Average Yearly Minimum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Fluvanna County Warming Stripes: Average Yearly Minimum Temperature
 ggplot(cville_sf2_yrf,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Fluvanna County Average Yearly Minimum Temperature 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Precipitation

Precipitation in July across Counties for all Years

cville_sf3a <- 
  ggplot(cville_sf1) +
  geom_sf(aes(fill = Julpcp), color = "black", alpha = .9, na.rm = TRUE) +
   geom_text_repel(data = cville_sf1, aes(X, Y, label = NAME), size = 4, nudge_x = 1, nudge_y = 0, fontface = "bold", hjust = 0.9) +
  scale_fill_fermenter(palette = "PuBuGn", direction = 1,   type = "seq", n.breaks = 7) +
     theme_void() +
  guides(fill =
           guide_colourbar(title.position="top", title.hjust = 0.5,
                           barwidth = 1)
  )  + 
  labs(fill = "Precipitation", title = 'Year: {frame_time}',
       caption = "Precipitation in July for Charlottesville Counties") + 
 transition_time(as.integer(Year)) +
ease_aes('linear') 
animate(cville_sf3a, fps = 1, detail = 1, nframes = 127)

meta %>%
  filter(varname == "Julpcp") %>% 
  select(about) %>% 
  as.list()

$about [1] “Monthly Divisional Temperature format (f7.2) Range of values -50.00 to 140.00 degrees Fahrenheit. Decimals retain a position in the 7-character field. Missing values in the latest year are indicated by -99.99. Missing values removed for visualization, resulting in no plots for 2021”

Warming Stripes Showing Precipitation in July for Each County for all Years

Greene County Warming Stripes: July Precipitation
 ggplot(cville_sf3_jlg,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Greene County July Precipitation 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Louisa County Warming Stripes: July Precipitation
 ggplot(cville_sf3_jll,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Louisa County July Precipitation 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Nelson County Warming Stripes: July Precipitation
 ggplot(cville_sf3_jln,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Nelson County July Precipitation 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Albemarle County Warming Stripes: July Precipitation
 ggplot(cville_sf3_jla,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Albemarle County July Precipitation 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Charlottesville County Warming Stripes: July Precipitation
 ggplot(cville_sf3_jlc,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Charlottesville County Precipitation 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Fluvanna County Warming Stripes: July Precipitation
 ggplot(cville_sf3_jlf,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Fluvanna County July Precipitation 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Average Yearly Precipitation across Counties

cville_sf3b <- 
  ggplot(cville_sf1) +
  geom_sf(aes(fill = Avg_Temppcp), color = "black", alpha = .9, na.rm = TRUE) +
   geom_text_repel(data = cville_sf1, aes(X, Y, label = NAME), size = 4, nudge_x = 1, nudge_y = 0, fontface = "bold", hjust = 0.9) +
  scale_fill_fermenter(palette = "RdPu", direction = 1,   type = "seq", n.breaks = 6) +
     theme_void() +
  guides(fill =
           guide_colourbar(title.position="top", title.hjust = 0.5,
                           barwidth = 1)
  )  + 
  labs(fill = "Precipitation", title = 'Year: {frame_time}',
       caption = "Average Yearly Precipitation For Charlottesville Counties") + 
 transition_time(as.integer(Year)) +
ease_aes('linear') 
animate(cville_sf3b, fps = 1, detail = 1, nframes = 127)

meta %>%
  filter(varname == "Avg_Temppcp") %>% 
  select(about) %>% 
  as.list()

$about [1] “Average yearly precipitation for each county. Created by suming the precipitation for each month, for each county, and taking the mean. NA’s for months in 2021 not currently available were removed and the mean calculated for the 6 months so far. Missing values removed for visualization, resulting in no plots for 2021”

Warming Stripes Showing Average Yearly Precipitation for Each County

Greene County Warming Stripes: Average Yearly Precipitation
 ggplot(cville_sf3_yrg,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Greene County Average Yearly Precipitation 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Louisa County Warming Stripes: Average Yearly Precipitation
 ggplot(cville_sf3_yrl,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Louisa County Average Yearly Precipitation 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Nelson County Warming Stripes: Average Yearly Precipitation
 ggplot(cville_sf3_yrn,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Nelson County Average Yearly Precipitation 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Albemarle County Warming Stripes: Average Yearly Precipitation
 ggplot(cville_sf3_yra,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Albemarle County Average Yearly Precipitation 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Charlottesville County Warming Stripes: Average Yearly Precipitation
 ggplot(cville_sf3_yrc,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Charlottesville County Average Yearly Precipitation 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip

Fluvanna County Warming Stripes: Average Yearly Precipitation
 ggplot(cville_sf3_yrf,
             aes(x = date, y = 1, fill = ta))+
        geom_tile()+
           scale_x_date(date_breaks = "6 years",
                     date_labels = "%Y",
                     expand = c(0, 0))+
           scale_y_continuous(expand = c(0, 0))+
           scale_fill_gradientn(colors = rev(col_strip))+
             guides(fill = guide_colorbar(barwidth = 1))+
            labs(title = "Fluvanna County Average Yearly Precipitation 1895-2020",
                caption = "Data: NOAA Surface Temperature Analysis")+
              theme_strip